package org.jeecgframework.web.system.pojo.base;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.lang.String;
import java.lang.Double;
import java.lang.Integer;
import java.math.BigDecimal;

import javax.xml.soap.Text;

import java.sql.Blob;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.SequenceGenerator;

import org.jeecgframework.poi.excel.annotation.Excel;

/**   
 * @Title: Entity
 * @Description: 报价单表
 * @author onlineGenerator
 * @date 2016-08-03 15:37:22
 * @version V1.0   
 *
 */
@Entity
@Table(name = "cbs_quotation", schema = "")
@SuppressWarnings("serial")
public class CbsQuotationEntity implements java.io.Serializable {
	/**ID */
	private java.lang.String id;

	/**报价单编号*/
	@Excel(name="报价单编号")
	private java.lang.String quotationNum;
	/**总计*/
	@Excel(name="总计")
	private java.lang.String total;
	/**生成pdf路径 */
	@Excel(name="生成pdf路径 ")
	private java.lang.String pdfUrl;
	/**createName*/
	private java.lang.String createName;
	/**createDate*/
	private java.util.Date createDate;
	/**createBy*/
	private java.lang.String createBy;
	/**updateName*/
	private java.lang.String updateName;
	/**updateBy*/
	private java.lang.String updateBy;
	/**updateDate*/
	private java.util.Date updateDate;
	/**折扣*/
	private Integer disCount;
	
	/**人工费*/
	private Integer manpowerPrice;
	/**差旅费*/
	private Integer travelPrice;
	/**人工费数量*/
	private Integer manpowerNumber;
	/**差旅费数量*/
	private Integer travelNumber;
	/**状态  0.待处理 1.处理中 2.已完成 3.已取消 4.草稿,5审批中 */
	@Excel(name="状态  ")
	private java.lang.String state;
	
	/**类型 0.HD创建 1.HD复制 2.CSA创建*/
	private java.lang.String type;
	
	
	/**
	 * 抄送人
	 */
	private java.lang.String copyPerson;
	
	/**报价单明细关联*/
	private List<CbsQuotationDetailEntity> quotationDetailList;
	
	/**采购单id*/
//	@Excel(name="采购单id")
//	private java.lang.String procurementId;
	
	/***采购单关联*/
	private CbsProcurementNoteEntity note;
	
	
	@OneToMany(mappedBy="quotation",fetch=FetchType.LAZY)
	public List<CbsQuotationDetailEntity> getQuotationDetailList() {
		return quotationDetailList;
	}

	public void setQuotationDetailList(
			List<CbsQuotationDetailEntity> quotationDetailList) {
		this.quotationDetailList = quotationDetailList;
	}

	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  ID 
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=32)
	public java.lang.String getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  ID 
	 */
	public void setId(java.lang.String id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  报价单编号
	 */
	@Column(name ="QUOTATION_NUM",nullable=true,length=36)
	public java.lang.String getQuotationNum(){
		return this.quotationNum;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  报价单编号
	 */
	public void setQuotationNum(java.lang.String quotationNum){
		this.quotationNum = quotationNum;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  总计
	 */
	@Column(name ="TOTAL",nullable=true,length=50)
	public java.lang.String getTotal(){
		return this.total;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  总计
	 */
	public void setTotal(java.lang.String total){
		this.total = total;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  生成pdf路径 
	 */
	@Column(name ="PDF_URL",nullable=true,length=100)
	public java.lang.String getPdfUrl(){
		return this.pdfUrl;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  生成pdf路径 
	 */
	public void setPdfUrl(java.lang.String pdfUrl){
		this.pdfUrl = pdfUrl;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  createName
	 */
	@Column(name ="CREATE_NAME",nullable=true,length=50)
	public java.lang.String getCreateName(){
		return this.createName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  createName
	 */
	public void setCreateName(java.lang.String createName){
		this.createName = createName;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  createDate
	 */
	@Column(name ="CREATE_DATE",nullable=true)
	public java.util.Date getCreateDate(){
		return this.createDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  createDate
	 */
	public void setCreateDate(java.util.Date createDate){
		this.createDate = createDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  createBy
	 */
	@Column(name ="CREATE_BY",nullable=true,length=50)
	public java.lang.String getCreateBy(){
		return this.createBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  createBy
	 */
	public void setCreateBy(java.lang.String createBy){
		this.createBy = createBy;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  updateName
	 */
	@Column(name ="UPDATE_NAME",nullable=true,length=50)
	public java.lang.String getUpdateName(){
		return this.updateName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  updateName
	 */
	public void setUpdateName(java.lang.String updateName){
		this.updateName = updateName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  updateBy
	 */
	@Column(name ="UPDATE_BY",nullable=true,length=50)
	public java.lang.String getUpdateBy(){
		return this.updateBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  updateBy
	 */
	public void setUpdateBy(java.lang.String updateBy){
		this.updateBy = updateBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  updateDate
	 */
	@Column(name ="UPDATE_DATE",nullable=true)
	public java.util.Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  updateDate
	 */
	public void setUpdateDate(java.util.Date updateDate){
		this.updateDate = updateDate;
	}
	
	@Column(name ="dis_count",nullable=true)
	public java.lang.Integer getDisCount() {
		return disCount;
	}

	public void setDisCount(java.lang.Integer disCount) {
		this.disCount = disCount;
	}
	/**人工费*/
	@Column(name ="manpower_Price",nullable=true)
	public Integer getManpowerPrice() {
		return manpowerPrice;
	}

	public void setManpowerPrice(Integer manpowerPrice) {
		this.manpowerPrice = manpowerPrice;
	}
	/**差旅费*/
	@Column(name ="travel_Price",nullable=true)
	public Integer getTravelPrice() {
		return travelPrice;
	}

	public void setTravelPrice(Integer travelPrice) {
		this.travelPrice = travelPrice;
	}
	/**人工数*/
	@Column(name ="manpower_Number",nullable=true)
	public Integer getManpowerNumber() {
		return manpowerNumber;
	}

	public void setManpowerNumber(Integer manpowerNumber) {
		this.manpowerNumber = manpowerNumber;
	}
	/**差旅数*/
	@Column(name ="travel_Number",nullable=true)
	public Integer getTravelNumber() {
		return travelNumber;
	}

	public void setTravelNumber(Integer travelNumber) {
		this.travelNumber = travelNumber;
	}
	
	@Column(name ="state",nullable=true)
	public java.lang.String getState() {
		return state;
	}

	public void setState(java.lang.String state) {
		this.state = state;
	}
	
	@Column(name ="type",nullable=true)
	public java.lang.String getType() {
		return type;
	}

	public void setType(java.lang.String type) {
		this.type = type;
	}
	
	@Column(name ="copy_person",nullable=true)
	public java.lang.String getCopyPerson() {
		return copyPerson;
	}

	public void setCopyPerson(java.lang.String copyPerson) {
		this.copyPerson = copyPerson;
	}

	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="PROCUREMENT_ID")
	public CbsProcurementNoteEntity getNote() {
		return note;
	}

	public void setNote(CbsProcurementNoteEntity note) {
		this.note = note;
	}
	
	
}
